双臂标定功能流程说明
修订日期 | 修订版本 | 修订内容 | 修订人 |
---|---|---|---|
2024.5.21 | v0.1 | 初始化文档 | 袁紫衣 |
1. 双臂标定流程
机械臂安装以及连接
- 安装机械臂到马鞍上面
- 机械臂上电,运动到零位,配置机械臂倾角
- 指定 master 和 slave,建立通信连接
- 机械臂位置控制模式运动到准备构型,准备安装末端工具
- 准备构型由算法给出
- slave 切换至 拖动模式
- 工具连接到 master 法兰端后拖动 slave 再连接到 slave
- 开始标定
数据采集
- 切换机械臂控制模式,一个机械臂切换至位置控制,一个机械臂切换至拖动模式
- 控制模式顺序由算法给出
- 确认控制模式切换成功(在拖动过程中必须有一个机械臂处于拖动模式)
- 位置控制模式对应的机械臂 关节运动 到目标关节角
- 目标关节角由算法给出
- 运动速度支持可调,功能落地后可确定 (慢速运动,速度会影响机械臂停不了的问题, 目前采用的速度为 3%)
- 判断双臂到位
- 位置控制模式机械臂到位标准:机械臂静止,与目标路点的差值 < 阈值(阈值可调 目前采用的1e-1,下同,连续判断5个周期 拖动过程中的卡顿可能导致瞬时的 0 速)
- 拖动模式机械臂到位标准:机械臂静止(目前采用的是判断速度模值 < 1e-5,连续判断5个周期,下同)
- 切换控制模式,双臂进入拖动模式
- 判断双臂到位
- 拖动模式机械臂到位标准:机械臂静止
- 到位后,记录多个周期关节位置信息,关节力信息,平均后存储(目前采用50个周期平均)
- 一个路点运行结束,运行下一个路点,回到第一步。
- 切换机械臂控制模式,一个机械臂切换至位置控制,一个机械臂切换至拖动模式
标定以及结果输出
- 所有路点运行结束后,输出存储的关节位置信息,关节外力矩信息,调用算法计算结果。
- 调用算法接口,计算输出结果,参数补偿值
误差校验标定是否成功
拆除工具
- 切换位置模式
- master切换到位置控制模式,slave 切换到拖动模式
- 拆除末端工具
- 双臂运动到 0 位置
- 切换位置模式
双臂补偿
- 双臂运动到0位
- 补偿0位
校验标定是否成功
双臂运动至指定关节角后,走 moveL 运动到校验构型
使用校验工具进行校验
参考 ur 脚本
def VerifProgram(): set_gravity([7.7907, 0, 5.9780]) set_tcp(p[0,0,0.05,0,0,0]) movej(get_inverse_kin(p[0.476012, 0.125, 0.290257, -1.84477, 1.84477, -0.626215], qnear=[0.82162535, -1.4866968, -2.615762, -0.123605564, 1.1088867, 0.7080765]), t=3) set_tcp(p[0,0,0.00125,0,0,0]) movel(p[0.476012, 0.125, 0.290257, -1.84477, 1.84477, -0.626215], t=4.5) set_tcp(p[0,0,0,0,0,0]) end
算法提供:
get_inverse_kin(p[0.476012, 0.125, 0.290257, -1.84477, 1.84477, -0.626215], qnear=[0.82162535, -1.4866968, -2.615762, -0.123605564, 1.1088867, 0.7080765]
结束
- 校验通过,机械臂运动到0位,保存标定文件
- 完成标定
2. 算法提供的数据说明
算法提供的数据:
- 标定准备构型:轨迹信息文件第一组
- 运动控制顺序以及关节角信息 :
- 数据含义:[ 运动控制模式,master 目标关节角, slave目标关节角]
- 运动控制顺序:轨迹信息文件 第一 列
- 1:master 走位置控制模式
- 2:slave 走位置控制模式
- 关节角信息 :2-13 列;前 6 个为 master 目标关节角, 后 6 个为 slave 目标关节角
- 运动控制顺序:轨迹信息文件 第一 列
- 数据含义:[ 运动控制模式,master 目标关节角, slave目标关节角]
- 标定是否成功误差校验方式
- 误差平均值 (average):位置 < 1mm, 姿态 < 2mrad
- 误差标准差(std):位置 < 0.5mm, 姿态 < 1mrad
- 标定结果和校验结果之间的差不超过 50%
- |标定结果 - 校验结果| / 标定结果 < 50%
- 校验流程的轨迹点
p[0.47631397 , 0.20000000 , 0.17500000 , 2.61799388 ,-0.00000000 , 1.57079633]
- qnear=[0.7321 -0.1791 2.1708 1.1848 1.2300 0.6614]
算法接口调用:
- 接口设计:
- 输入:记录的关节位置信息,力信息
- 输出:双臂的 DH 参数补偿值,标定和校验结果均值,最大值,标准差
- 输出结果是否可用的判断标准(实验统计)
说明:所有数据采用国际标准单位